/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Gerenciadores;

import BancoDados.BancoDeDados;
import Modelo.Consulta;
import POO.TecladoUtils;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

/**
 *
 * @author kelyane
 */
public class GerenciadorConsulta {
    public static void cadastrarConsulta(Consulta consulta){
        BancoDeDados bd = BancoDeDados.getInstance();
        bd.getConsultas().add(consulta);
    }
    
    public static Consulta obtemConsulta() throws IOException, ParseException{
        System.out.printf("CPF Paciente\n");
        String cpf = TecladoUtils.lerString();
        
        System.out.printf("Data e hora da consulta\n (dd/mm/aaaa hh:mm)");
        String horario = TecladoUtils.lerString();
        
        Date date = new SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.ROOT).parse(horario);
        
        Consulta consulta = buscarConsulta(cpf, date);
        
        if(consulta == null){
            System.out.printf("Consulta não existe.\n");                        
        }
        
        return consulta;
        
    }

    public static Consulta buscarConsulta(String numCPF, Date horario){
        BancoDeDados bd = BancoDeDados.getInstance();
        
        for(Consulta consulta : bd.getConsultas()){
            if( (consulta.getPaciente().getCpf().getCPF().compareTo(numCPF) == 0) && ( consulta.getHorario().compareTo(horario) == 0)) {
                return consulta;
            }
        }
        return  null;
    }
    
    public static void removeConsulta(Consulta consulta){
        BancoDeDados bd = BancoDeDados.getInstance();        
        bd.getConsultas().remove(consulta);
    }
            
}
